<template>
<!-- history模式
              Vue2:mode:'history'
              Vue3:history:createWebHistory()
              React:<BrowserRouter>
hash模式 -->
<!-- 
1.history模式
   优点：URL更加美观，不带有#，更接近传统的网站URL。
   缺点：后期项目上线，需要服务端配合处理路径问题，否则刷新会有44错误。
const router createRouter({
history:createWebHistory(),//history模式
/*★****/
})
2.hash模式
     优点：兼容性更好，因为不需要服务器端处理路径。
     缺点：UL带有#不太美观，且在SE0优化方面相对较差。
const router createRouter({
history:createWebHashHistory(),//hash模式 -->

    <div class="app">
      <Header></Header>
      <h2 class="title">vue 路由测试</h2>
      <!-- 导航区 -->
      <div class="navigate">
        <!-- <RouterLink to="/home" class="active">首页</RouterLink> -->
          <!-- RouterLink是组件不能写href -->
           <!-- 字符串写法 -->
          <RouterLink to="/home" active-class="active">主页</RouterLink>
           <!-- 对象写法-名字跳转 -->
          <RouterLink :to="{name:'xinwen'}" active-class="active">菜单</RouterLink>
          <!-- 对象写法-路径跳转 -->
        <RouterLink  :to="{path:'/about'}" active-class="active">关于</RouterLink>   
      </div>
      <!-- 展示区 -->
      <div class="main-content">
        <!-- 这里展示各种组件，具体哪个组件要看路径 -->
         <RouterView>  </RouterView>
      </div>
    </div>
  </template>
  
  <script lang="ts" setup name="App">
  import { RouterView, RouterLink} from 'vue-router';
  import Header from './components/Header.vue';
  </script>
  
  <style>
  .title {
    text-align: center;
    word-spacing: 5px;
    margin: 30px 0;
    height: 70px;
    line-height: 70px;
    background-image: linear-gradient(45deg, gray, white);
    border-radius: 10px;
    box-shadow: 0 2px;
    font-size: 30px;
  }
  
  .navigate {
    display: flex; /* 使导航链接在一排显示 */
    justify-content: center; /* 居中对齐 */
    gap: 10px; /* 添加链接之间的间距 */
  }
  
  .navigate a {
    display: block;
    text-align: center;
    width: 90px;
    height: 40px;
    line-height: 40px;
    border-radius: 10px;
    background-color: gray;
    text-decoration: none;
    color: white;
    font-size: 18px;
    letter-spacing: 5px;
  }
  
  .navigate a.active {
    background-color: #64967E;
    color: #ffc268;
    font-weight: 900;
    text-shadow: 0 1px black;
    font-family: 微软雅黑;
  }
  
  .main-content {
    margin: 0 auto;
    margin-top: 30px;
    border-radius: 10px;
    width: 90%;
    height: 400px;
    border: 1px solid;
  }
  </style>
  